package com.coldchain.order.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 订单收货员信息
 * </p>
 *
 * @author fangliai
 * @since 2018-09-11
 */
public class BizReceiverPerson implements Serializable {

    private static final long serialVersionUID = 1L;

	@TableId(value="id", type= IdType.AUTO)
	private Long id;
    /**
     * 业务订单号
     */
	@TableField("biz_id")
	private String bizId;
    /**
     * 订单ID
     */
	@TableField("orderId")
	private String orderId;
    /**
     * 收货人手机号
     */
	@TableField("receiver_phone")
	private String receiverPhone;
    /**
     * 收货人姓名
     */
	@TableField("receiver_name")
	private String receiverName;
    /**
     * 收货人经度
     */
	private Double longitude;
    /**
     * 收货人纬度
     */
	private Double latitude;
    /**
     * 地址信息编码
     */
	private String geohash;
    /**
     * 紧急联系人
     */
	@TableField("instancy_name")
	private String instancyName;
    /**
     * 紧急联系电话
     */
	@TableField("instancy_phone")
	private String instancyPhone;
    /**
     * 配送状态 0待配送 1配送中 2已完成
     */
	private Integer status;
    /**
     * 预计配送里程
     */
	@TableField("predict_km")
	private Double predictKm;
    /**
     * 实际配送里程
     */
	@TableField("actual_km")
	private Double actualKm;
    /**
     * 预计完成时间
     */
	@TableField("predict_finish_time")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private Date predictFinishTime;
    /**
     * 实际完成时间
     */
	@TableField("actual_finish_time")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private Date actualFinishTime;
    /**
     * 载具回收数量
     */
	@TableField("carrier_num")
	private Integer carrierNum;

	private String clitycode;

	private String carrierName;
	/**
	 * 详细地址
	 */
	private String addrdetail;
	/**
	 * 地图定位地址
	 */
	private String location;
	/**
	 * 配送顺序，数字低先配送
	 */
	private Integer sort;
	/**
	 * 送货单记录多张图片","分开
	 */
	private String goodsLogUrl;
	/**
	 * 回单记录多张图片","分开
	 */
	private String resultLogUrl;
	/**
	 * 错误信息记录
	 */
	private String errorMsg;
	/**
	 * 异常图片多张图片","分开
	 */
	private String errorLogUrl;
	/**
	 * 送达记录多张图片","分开
	 */
	private String endLogUrl;

	private String personId;
	/**
	 * 添加时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private Date createtime;

	private Integer errorCode;
	/**
	 * 商品信息多个,分开
	 */
	@TableField(exist=false)
	private String goodsdetail;
	@TableField(exist=false)
	private List<BizReceiverGoods> goods;
	public void setCarrierName(String carrierName) {
		this.carrierName = carrierName;
	}
	public String getCarrierName() {
		return carrierName;
	}
	public void setErrorCode(Integer errorCode) {
		this.errorCode = errorCode;
	}
	public Integer getErrorCode() {
		return errorCode;
	}
	public String getErrorLogUrl() {
		return errorLogUrl;
	}

	public void setErrorLogUrl(String errorLogUrl) {
		this.errorLogUrl = errorLogUrl;
	}

	public String getGoodsLogUrl() {
		return goodsLogUrl;
	}

	public String getClitycode() {
		return clitycode;
	}

	public void setClitycode(String clitycode) {
		this.clitycode = clitycode;
	}

	public void setGoodsLogUrl(String goodsLogUrl) {
		this.goodsLogUrl = goodsLogUrl;
	}

	public String getResultLogUrl() {
		return resultLogUrl;
	}
	public void setPersonId(String personId) {
		this.personId = personId;
	}
	public String getPersonId() {
		return personId;
	}
	public void setResultLogUrl(String resultLogUrl) {
		this.resultLogUrl = resultLogUrl;
	}

	public String getErrorMsg() {
		return errorMsg;
	}

	public void setErrorMsg(String errorMsg) {
		this.errorMsg = errorMsg;
	}

	public String getEndLogUrl() {
		return endLogUrl;
	}

	public void setEndLogUrl(String endLogUrl) {
		this.endLogUrl = endLogUrl;
	}

	public List<BizReceiverGoods> getGoods() {
		return goods;
	}

	public Date getCreatetime() {
		return createtime;
	}

	public void setCreatetime(Date createtime) {
		this.createtime = createtime;
	}

	public void setGoods(List<BizReceiverGoods> goods) {
		this.goods = goods;
	}

	public Integer getSort() {
		return sort;
	}

	public void setSort(Integer sort) {
		this.sort = sort;
	}

	public String getGoodsdetail() {
		return goodsdetail;
	}

	public void setGoodsdetail(String goodsdetail) {
		this.goodsdetail = goodsdetail;
	}
	public String getAddrdetail() {
		return addrdetail;
	}

	public void setAddrdetail(String addrdetail) {
		this.addrdetail = addrdetail;
	}

	public String getLocation() {
		return location;
	}

	public void setLocation(String location) {
		this.location = location;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getBizId() {
		return bizId;
	}

	public void setBizId(String bizId) {
		this.bizId = bizId;
	}

	public String getOrderId() {
		return orderId;
	}

	public void setOrderId(String orderId) {
		this.orderId = orderId;
	}

	public String getReceiverPhone() {
		return receiverPhone;
	}

	public void setReceiverPhone(String receiverPhone) {
		this.receiverPhone = receiverPhone;
	}

	public String getReceiverName() {
		return receiverName;
	}

	public void setReceiverName(String receiverName) {
		this.receiverName = receiverName;
	}

	public Double getLongitude() {
		return longitude;
	}

	public void setLongitude(Double longitude) {
		this.longitude = longitude;
	}

	public Double getLatitude() {
		return latitude;
	}

	public void setLatitude(Double latitude) {
		this.latitude = latitude;
	}

	public String getGeohash() {
		return geohash;
	}

	public void setGeohash(String geohash) {
		this.geohash = geohash;
	}

	public String getInstancyName() {
		return instancyName;
	}

	public void setInstancyName(String instancyName) {
		this.instancyName = instancyName;
	}

	public String getInstancyPhone() {
		return instancyPhone;
	}

	public void setInstancyPhone(String instancyPhone) {
		this.instancyPhone = instancyPhone;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public Double getPredictKm() {
		return predictKm;
	}

	public void setPredictKm(Double predictKm) {
		this.predictKm = predictKm;
	}

	public Double getActualKm() {
		return actualKm;
	}

	public void setActualKm(Double actualKm) {
		this.actualKm = actualKm;
	}

	public Date getPredictFinishTime() {
		return predictFinishTime;
	}

	public void setPredictFinishTime(Date predictFinishTime) {
		this.predictFinishTime = predictFinishTime;
	}

	public Date getActualFinishTime() {
		return actualFinishTime;
	}

	public void setActualFinishTime(Date actualFinishTime) {
		this.actualFinishTime = actualFinishTime;
	}

	public Integer getCarrierNum() {
		return carrierNum;
	}

	public void setCarrierNum(Integer carrierNum) {
		this.carrierNum = carrierNum;
	}

}
